在專案管理中,Release
版號通常用於表示軟體或系統的發佈版本,讓開發人員可以清楚了解目前系統處於的版本階段。關於 Release
版號,將分成上、中、下,三篇,上篇介紹通用的版本命名方式,中、下篇將介紹如何用 GitHub Actions
自動產生版號與變更內容。
語意化版本號規則(Semantic Versioning
,也稱為 SemVer
)為通用的版本號命名方式,格式為:
主版本號.次版本號.修訂版本號
表示方式:例如 2.0.3
。
major release
:系統重大改變,例如:整體系統框架升級、改版。minor release
:改版內容不影響整體系統開發與使用,例如:新功能上線。patch release
:調整或修復既有程式碼問題,例如:更新既有功能邏輯。以前端網頁系統開發為例:
major release
:重大變更,已與現有功能不相容。
Vue 2
升級到 Vue 3
,或 ArcGIS API for JavaScript
從 3.X
升級到 4.X
,使大量既有功能皆需調整的重大升級變更。UI
/ UX
重新設計:前端設計架構改變,導致原有的程式碼無法使用,影響原有功能運作。CSS
預處理器或編譯工具的重大改變:從 Sass
切換到 PostCSS
,或從 Webpack
轉向 Vite 等打包工具的改變,影響了整個編譯流程。Vuex
升級到 Pinia
,重構了component
架構或狀態管理模式。minor release
:新增功能或優化,保持向後相容,不會破壞現有功能。
UI
元件:例如加新的頁面、表單或彈出視窗等,這些新增功能不影響現有的頁面和功能。UI
元素進行美化與設計調整,但不影響現有樣式的正常使用,例如按鈕樣式與顏色調整等。UI
和 UX
的調整,讓網站可在更多設備上被使用。patch release
: Bug
修復或功能小幅調整,完全向後兼容,對功能沒有影響。
UI
問題:調整元素對齊、字體大小不一致等細節問題。Bug
進行修正,確保相容性。GitHub Actions
或 CI/CD
流程,可自動檢測和管理不同程度的版本更新,幫助追蹤多個版本的程式碼調整歷程。